// 1 模仿trim 去除开头和结尾的空白符 换成空字符

// 匹配到开头和结尾的空白符，然后替换成空字符。
function trim1(str){
    var regex=/^\s+|\s+$/g;
    return str.replace(regex,'');
}
console.log( trim1("   foobar   ") ); 

// 或者 匹配整个字符串，然后用引用来提取出相应的数据
function trim2(str){
    var regex=/^\s*(.*?)\s*$/g;
    return str.replace(regex,"$1");
}
console.log(trim2("   foobar   ")); 


// 2 将每个单词的首字母转换为大写
// my name is epeli
function titleize(str){
    var regex=/(?:^|\s+?)[a-z]/g
    return str.toLowerCase().replace(regex,function(args){
        // return RegExp.$1.toUpCase();
        console.log(args);
        return args.toUpperCase();
    });
}

console.log( titleize('my name is epeli') );

// 3 驼峰化
// 将'-moz-transform'驼峰化
function camelize(str) {
    var regex =/[-_\s]+(.)?/g;
    return str.replace(regex,function(match,c){
        return c?c.toUpperCase():'';
    });
}
console.log( camelize('-moz-transform') );

// 4 中划线化
// 将MozTransformz  中划线化
function dasherize(str) {
    var regex=/([A-Z])/g;
    return str.replace(regex,'-$1').replace(/[-_\s]+/g, '-').toLowerCase();
}
console.log( dasherize('MozTransform') ); 

// 5 匹配成对标签

// 匹配一个开标签，可以使用正则<[^>]+>，

// 匹配一个闭标签，可以使用<\/[^>]+>

// 但是要求匹配成对标签，那就需要使用反向引用 /<([^>]+)>[\d\D]*<\/\1>/;

